Writing A Key Generator Author: Volatility Please Read The
Disclaimer
Before Continuing.
Prepare To Crack: Since I wrote this utility (which I hope you find useful!) and crackme, I decided I'd better figure out exactly how one would go about figuring out the calculation (without any unfair knowledge *g*) in order to write a key generator. If you are reading this file, you've either given up at figuring out the calculation, don't have any idea how, and never will, or you just want to confirm your suspicions... I hope the latter case is true! After you read this... you'll see exactly how simple this calculation is, and will probably slap yourself in the head a few times, or want to slap ME in the head a few times :) If you have an older version of my program, please download the new one Here, since the old one had an error in a timer which made using Smartcheck confusing. Download the new version anyway, just to be safe. Since the app is written in VB, and since VB is the only language I know real well (pathetic, I know!), we'll write the key generator in VB as well. Making The Crack: This essay ASSUMES that you have already cracked, and found your correct serial number using Soft-Ice, or some other method. Knowing the correct serial number for your name is ESSENTIAL, and you must fish it before you can proceed in this essay. Tutorials on doing this will be provided via me, or my website, once people start writing and contributing them. If no one does, I'll write one myself. The program MUST be in its unregistered state. If you already have the program registered, you can unregister it by deleting a character in "cconvert.ccc". For this essay, we'll use my user name and serial number. You'll see how easy it is to apply your own after this lesson :) Ok... so we've fished our correct serial number... we should now have the following information: User Name: Volatility
Now that we have this info... let's fire up Smartcheck to see what we can find out. Load the program into Smartcheck ("File", "Open" then choose cconvert.exe). Press the "Run" button (button with the litte green arrow on it). RIGHT AFTER pressing the run button, choose "View" then "Show All Events". Now just let the Smartcheck do it's work, until you see the "Unregistered Version" message box pop up. Press "OK", let Smartcheck work some more until the program is up. Now click on the "About" button, then the "Register" button. Enter in your user name (Volatility) and a serial number (272727). Press the "Validate" button, click ok when the "Sorry, Better Luck Next Time" message box appears, and now we have all the info we'll need. Choose "View",
"Expand All" from the menu. Now we need to find the spot where you
pressed the "Validate" button. The command is "cmdValidate_Click".
Once you find this, you'll see the following underneath it (only the relevant
parts we'll need are shown here):
Now (in case you don't know Visual Basic, or any programming) here is what each line does: ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Len(String:"Volatili...")returns
LONG:10
txtUserName.Text
Mid(VARIANT:String"Volatili...",
long:1, VARIANT:Integer:5)
Asc(String:"Volat")
returns Integer:86
Str(VARIANT:Integer:86)
To sum this entire process up, the routine gets our user name (Volatility), selects some characters (serves no purpose, other than to misguide crackers :)) from it, in this case the first five (Volat), uses the Asc function to convert the first character (V) to its ASCII equivalent (86). Ok... this is all fine and dandy, but what the hell good does the number 86 do us? It doesn't have anything in common with our serial number.... or does it? Using a little bit of intuition, and a little bit of *Zen Cracking*, we decide to divide 86 into our serial number, 1720. What we are left with is exactly the number 20 :) That's it! Our converted string (86) is simply multiplied by 20 to generate our serial number! Now, to code
the key generator. You must first create a form with two text boxes
(Text1 and Text2), and a command button. Double click the command
button, and enter the following code (lines are commented so you know what
they do):
Hopefully, this essay gets you started in the right direction, on finding out how some registrations are calculated, as well as how to use this knowledge to write a key generator. I'd highly doubt if you'll find another calculation as simple as mine!
Copyright © 1998 Volatility And The Immortal Descendants. All Rights Reserved. |